#include <algorithm>
#include <map>
#include <list>
#include <sstream>
#include <iostream>
#include <limits>

class Parent {

};

class A : public Parent { 
};

class B : public Parent {

};

class C : public Parent {

};

std::map<const type_info, int> b;

bool pred(int &a, int &b) {
	return a < b;
}

void main() {
	std::list<int> a;

	a.push_back(2);
	a.push_back(4);
	a.push_back(3);
	a.push_back(1);

	a.sort(pred);

	for(std::list<int>::iterator i = a.begin(); i != a.end(); i++) {
		printf("%d\n", *i);
	}
}